\subsection{???}
Let \( G \) be a group.
\begin{definition}
    The \emph{integral group ring} \( \mathbb Z G \) is the set of formal sums \( \sum n_g g \), where \( n_g \in \mathbb Z \), \( g \in G \), and only finitely many of the \( n_g \) are nonzero.
    An addition operation makes this set a free abelian group:
    \[ \qty(\sum m_g g) + \qty(\sum n_g g) = \sum (m_g + n_g) g \]
    Multiplication is defined by
    \[ \qty(\sum_{h \in G} m_h h)(\sum_{k \in G} n_k k) = \sum \qty(\sum_{hk = g} m_h n_k) g \]
    The multiplicative identity is \( 1 e \) where \( e \) is the identity of \( G \).
    This produces an associative ring, which underlies the integral representation theory of \( G \).
\end{definition}
\begin{definition}
    A \emph{(left) \( \mathbb Z G \)-module} \( M \) is an abelian group under addition together with a map \( \mathbb Z G \times M \to M \) denoted \( (r, m) \mapsto rm \), satisfying
    \begin{enumerate}
        \item \( r(m_1 + m_2) = rm_1 + rm_2 \);
        \item \( (r_1 + r_2)m = r_1 m + r_2 m \);
        \item \( r_1(r_2 m) = (r_1 r_2) m \);
        \item \( 1 m = m \).
    \end{enumerate}
\end{definition}
A module is \emph{trivial} if \( gm = m \) for all \( g \in G \) and \( m \in M \).
We call \( \mathbb Z \) \emph{the} trivial module, given by the trivial action \( gn = n \) for all \( n \in \mathbb Z \) and \( g \in G \).

The \emph{free} \( \mathbb Z G \)-module on a set \( X \) is the module of formal sums \( \sum r_x x \) where \( r_x \in \mathbb Z G \) and \( x \in X \), and only finitely many of the \( r_x \) are nonzero.
This has the obvious \( G \)-action.
This module will be denoted \( \mathbb Z G\qty{X} \).

We can define submodules, quotient modules, and so on as one would expect.

\begin{definition}
    A \emph{(left) \( \mathbb Z G \)-map} or \emph{morphism} \( \alpha : M_1 \to M_2 \) is a map of abelian groups with \( \alpha(r m) = r \alpha(m) \) for all \( r \in \mathbb Z G \) and \( m \in M_1 \).
\end{definition}
\begin{example}
    The \emph{augmentation map} \( \varepsilon : \mathbb Z G \to \mathbb Z \) is the \( \mathbb Z G \)-map between left \( \mathbb Z G \)-modules given by
    \[ \sum n_g g \mapsto \sum n_g \]
    This is also a right \( \mathbb Z G \)-map, and also a map of rings.
\end{example}
We will write \( \Hom_G(M, N) \) to be the set of \( \mathbb Z G \)-maps \( M \to N \), which is made into an abelian group under pointwise addition.
\begin{example}
    Regarding \( \mathbb Z G \) as a left \( \mathbb Z G \)-module, then
    \[ \Hom_G(\mathbb Z G, M) \cong M \]
    for any left \( \mathbb Z G \)-module \( M \).
    This isomorphism is given by \( \varphi \mapsto \varphi(1) \); the \( \mathbb Z G \)-map is determined by the image of \( 1 \).
    \[ \varphi(r) = \varphi(r \cdot 1) = r \varphi(1) \]
\end{example}
Note that \( \Hom_G(\mathbb Z G, M) \) can be viewed as a left \( \mathbb Z G \)-module, given by
\[ (s \varphi)(r) = \varphi(rs);\quad s \in \mathbb Z G \]
Note that the isomorphism
\[ \Hom_G(\mathbb Z G, \mathbb Z G) \cong \mathbb Z G;\quad \varphi \mapsto \varphi(1) \]
satisfies \( \varphi(r) = r \varphi(1) \) and so \( \varphi \) corresponds to multiplication on the right by \( \varphi(1) \).
\begin{remark}
    \( G \) may not be abelian, and so we must carefully distinguish left and right actions.
\end{remark}
\begin{definition}
    If \( f : M_1 \to M_2 \) is a \( \mathbb Z G \)-map, its \emph{dual maps} \( f^\star \) are \( \mathbb Z G \)-maps \( \Hom_G(M_2, N) \to \Hom_G(M_1, N) \) for each \( \mathbb Z G \)-module \( N \), given by composition on the right with \( f \).
    If \( f : N_1 \to N_2 \), its \emph{induced maps} \( f_\star \) are \( \Hom_G(M, N_1) \to \Hom_G(M, N_2) \) given by composition on the left with \( f \).
    These are maps of abelian groups.
\end{definition}
We will now present a prototypical example.
\begin{example}
    Let \( G = \langle t \rangle \) be an infinite cyclic group.
    Consider the graph whose vertices are \( v_i \) for \( i \in \mathbb Z \), where \( v_i \) is joined to \( v_{i+1} \) and \( v_{i-1} \).
    Let \( V \) be its set of vertices, and \( E \) be its set of edges.
    \( G \) acts by translations on this graph, where \( t \) maps \( v_i \) to \( v_{i+1} \).
    The formal sums \( \mathbb Z V \) and \( \mathbb Z E \) can be regarded as \( \mathbb Z G \)-modules.
    They are free: \( \mathbb Z V = \mathbb Z G \qty{v_0} \), and \( \mathbb Z E = \mathbb Z G \qty{e} \) where \( e \) is the edge connecting \( v_0 \) and \( v_1 \).
    The boundary map is a \( \mathbb Z G \)-map \( d : \mathbb Z E \to \mathbb Z V \) given by \( e \mapsto v_1 - v_0 \).
    There is also a \( \mathbb Z G \)-map \( \mathbb Z V \to \mathbb Z \) given by \( v_0 \mapsto 1 \); this corresponds to the augmentation map.
\end{example}
\begin{definition}
    A \emph{chain complex} of \( \mathbb Z G \)-modules is a sequence
    % https://q.uiver.app/#q=WzAsNSxbMCwwLCJNX3MiXSxbMSwwLCJNX3tzLTF9Il0sWzIsMCwiTV97cy0yfSJdLFszLDAsIlxcY2RvdHMiXSxbNCwwLCJNX3QiXSxbMCwxLCJkX3MiXSxbMSwyLCJkX3tzLTF9Il0sWzIsM10sWzMsNCwiZF97dCsxfSJdXQ==
    \[\begin{tikzcd}
        {M_s} & {M_{s-1}} & {M_{s-2}} & \cdots & {M_t}
        \arrow["{d_s}", from=1-1, to=1-2]
        \arrow["{d_{s-1}}", from=1-2, to=1-3]
        \arrow[from=1-3, to=1-4]
        \arrow["{d_{t+1}}", from=1-4, to=1-5]
    \end{tikzcd}\]
    such that for every \( t < n < s \), we have \( d_n d_{n+1} = 0 \), and so \( \im d_{n+1} \subseteq \ker d_n \).
    We will refer to the entire sequence as \( M_\bullet = (M_n, d_n)_{t \leq n \leq s} \).
\end{definition}
We say that \( M_\bullet \) is \emph{exact} at \( M_n \) if \( \im d_{n+1} = \ker d_n \), and we say it is \emph{exact} if it is exact at all \( M_n \) for \( t < n < s \).
The \emph{homology} of this chain complex is
\[ H_s(M_\bullet) = \ker d_s;\quad H_n(M_\bullet) = \faktor{\ker d_n}{\im d_{n+1}};\quad H_t(M_\bullet) = \coker d_{t-1} = \faktor{M_t}{\im d_{t+1}} \]
A \emph{short exact sequence} is an exact chain complex of the form
% https://q.uiver.app/#q=WzAsNSxbMCwwLCIwIl0sWzEsMCwiTV8xIl0sWzIsMCwiTV8yIl0sWzMsMCwiTV8zIl0sWzQsMCwiMCJdLFswLDFdLFsxLDIsIlxcYWxwaGEiXSxbMiwzLCJcXGJldGEiXSxbMyw0XV0=
\[\begin{tikzcd}
0 & {M_1} & {M_2} & {M_3} & 0
\arrow[from=1-1, to=1-2]
\arrow["\alpha", from=1-2, to=1-3]
\arrow["\beta", from=1-3, to=1-4]
\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
That is, \( \alpha \) is injective, \( \beta \) is surjective, and \( \im \alpha = \ker \beta \).
\begin{example}
    In our example above, we have the short exact sequence
    % https://q.uiver.app/#q=WzAsNSxbMCwwLCIwIl0sWzEsMCwiXFxtYXRoYmIgWiBFIl0sWzIsMCwiXFxtYXRoYmIgWiBWIl0sWzMsMCwiXFxtYXRoYmIgWiJdLFs0LDAsIjAiXSxbMCwxXSxbMSwyXSxbMiwzXSxbMyw0XV0=
\[\begin{tikzcd}
	0 & {\mathbb Z E} & {\mathbb Z V} & {\mathbb Z} & 0
	\arrow[from=1-1, to=1-2]
	\arrow[from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
    This corresponds to a short exact sequence
    % https://q.uiver.app/#q=WzAsNSxbMCwwLCIwIl0sWzEsMCwiXFxtYXRoYmIgWiBHIl0sWzIsMCwiXFxtYXRoYmIgWiBHIl0sWzMsMCwiXFxtYXRoYmIgWiJdLFs0LDAsIjAiXSxbMCwxXSxbMSwyXSxbMiwzXSxbMyw0XV0=
\[\begin{tikzcd}
	0 & {\mathbb Z G} & {\mathbb Z G} & {\mathbb Z} & 0
	\arrow[from=1-1, to=1-2]
	\arrow[from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
    where \( G = \langle t \rangle \) is an infinite cyclic group, and the map \( \mathbb Z G \to \mathbb Z G \) is given by multiplication on the right by \( t - 1 \).
\end{example}
\begin{definition}
    A \( \mathbb Z G \)-module \( P \) is \emph{projective} if, for every surjective \( \mathbb Z G \)-map \( \alpha : M_1 \to M_2 \) and every \( \mathbb Z G \)-map \( \beta : P \to M_2 \), there is a map \( \overline\beta : P \to M_1 \) such that \( \alpha \circ \overline \beta = \beta \).
    % https://q.uiver.app/#q=WzAsNCxbMSwwLCJQIl0sWzEsMSwiTV8yIl0sWzAsMSwiTV8xIl0sWzIsMSwiMCJdLFswLDEsIlxcYmV0YSJdLFswLDIsIlxcb3ZlcmxpbmVcXGJldGEiLDIseyJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJkYXNoZWQifX19XSxbMiwxLCJcXGFscGhhIiwyXSxbMSwzXV0=
\[\begin{tikzcd}
	& P \\
	{M_1} & {M_2} & 0
	\arrow["\beta", from=1-2, to=2-2]
	\arrow["\overline\beta"', dashed, from=1-2, to=2-1]
	\arrow["\alpha"', from=2-1, to=2-2]
	\arrow[from=2-2, to=2-3]
\end{tikzcd}\]
\end{definition}
Given any short exact sequence
% https://q.uiver.app/#q=WzAsNSxbMCwwLCIwIl0sWzEsMCwiTiJdLFsyLDAsIk1fMSJdLFszLDAsIk1fMiJdLFs0LDAsIjAiXSxbMCwxXSxbMSwyLCJmIl0sWzIsMywiXFxhbHBoYSJdLFszLDRdXQ==
\[\begin{tikzcd}
	0 & N & {M_1} & {M_2} & 0
	\arrow[from=1-1, to=1-2]
	\arrow["f", from=1-2, to=1-3]
	\arrow["\alpha", from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
we can consider
% https://q.uiver.app/#q=WzAsNSxbMCwwLCIwIl0sWzEsMCwiXFxIb21fRyhQLCBOKSJdLFsyLDAsIlxcSG9tX0coUCwgTV8xKSJdLFszLDAsIlxcSG9tX0coUCwgTV8yKSJdLFs0LDAsIjAiXSxbMCwxXSxbMSwyLCJmX1xcc3RhciJdLFsyLDMsIlxcYWxwaGFfXFxzdGFyIl0sWzMsNF1d
\[\begin{tikzcd}
	0 & {\Hom_G(P, N)} & {\Hom_G(P, M_1)} & {\Hom_G(P, M_2)} & 0
	\arrow[from=1-1, to=1-2]
	\arrow["{f_\star}", from=1-2, to=1-3]
	\arrow["{\alpha_\star}", from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
We could have defined projectivity by saying that this new sequence is exact.
Note that this sequence is always a chain complex regardless if \( P \) is projective, and we always have exactness except possibly at \( \Hom_G(P, M_2) \).
\begin{lemma}
    Free modules are projective.
\end{lemma}
\begin{proof}
    Let \( \alpha : M_1 \to M_2 \) be a surjective \( \mathbb Z G \)-map, and let \( \beta : \mathbb Z G\qty{X} \to M_2 \).
    Then for each generator \( x \in X \), there exists some \( m_x \in M_1 \) such that \( \alpha(m_x) = \beta(x) \).
    We then define \( \overline\beta : \mathbb Z G\qty{X} \to M_1 \) by mapping
    \[ \sum r_x x \mapsto \sum r_x m_x \]
    which satisfies the required equation \( \alpha \overline\beta = \beta \).
\end{proof}
\begin{definition}
    A \emph{projective (free) resolution} of the trivial module \( \mathbb Z \) is an exact sequence
    % https://q.uiver.app/#q=WzAsNSxbMCwwLCJcXGNkb3RzIl0sWzEsMCwiUF8xIl0sWzIsMCwiUF8wIl0sWzMsMCwiXFxtYXRoYmIgWiJdLFs0LDAsIjAiXSxbMCwxLCJkXzIiXSxbMSwyLCJkXzEiXSxbMiwzLCJkXzAiXSxbMyw0XV0=
\[\begin{tikzcd}
	\cdots & {P_1} & {P_0} & {\mathbb Z} & 0
	\arrow["{d_2}", from=1-1, to=1-2]
	\arrow["{d_1}", from=1-2, to=1-3]
	\arrow["{d_0}", from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
    where the \( P_i \) are projective (respectively free).
    This is a chain complex.
\end{definition}
\begin{example}
    Let \( G = \langle t \rangle \) be an infinite cyclic group.
    Then we have a finite free resolution of \( \mathbb Z \) given by the exact sequence
    % https://q.uiver.app/#q=WzAsNSxbMCwwLCIwIl0sWzEsMCwiXFxtYXRoYmIgWiBHIl0sWzIsMCwiXFxtYXRoYmIgWiBHIl0sWzMsMCwiXFxtYXRoYmIgWiJdLFs0LDAsIjAiXSxbMCwxXSxbMSwyLCJcXGNkb3QgXFwsKHQgLSAxKSJdLFsyLDMsIlxcdmFyZXBzaWxvbiJdLFszLDRdXQ==
\[\begin{tikzcd}
	0 & {\mathbb Z G} & {\mathbb Z G} & {\mathbb Z} & 0
	\arrow[from=1-1, to=1-2]
	\arrow["{\cdot \,(t - 1)}", from=1-2, to=1-3]
	\arrow["\varepsilon", from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
    where \( \varepsilon \) is the augmentation map.
\end{example}
\begin{example}
    Let \( G = \langle t \rangle \) be a cyclic group of order \( n \).
    Then we have a resolution
    % https://q.uiver.app/#q=WzAsOCxbMywwLCJcXG1hdGhiYiBaIEciXSxbNCwwLCJcXG1hdGhiYiBaIEciXSxbNSwwLCJcXG1hdGhiYiBaIEciXSxbNiwwLCJcXG1hdGhiYiBaIl0sWzcsMCwiMCJdLFsyLDAsIlxcbWF0aGJiIFogRyJdLFsxLDAsIlxcbWF0aGJiIFogRyJdLFswLDAsIlxcY2RvdHMiXSxbMCwxLCJcXGJldGEiXSxbMSwyLCJcXGFscGhhIl0sWzIsMywiXFx2YXJlcHNpbG9uIl0sWzMsNF0sWzUsMCwiXFxhbHBoYSJdLFs2LDUsIlxcYmV0YSJdLFs3LDZdXQ==
\[\begin{tikzcd}
	\cdots & {\mathbb Z G} & {\mathbb Z G} & {\mathbb Z G} & {\mathbb Z G} & {\mathbb Z G} & {\mathbb Z} & 0
	\arrow["\beta", from=1-4, to=1-5]
	\arrow["\alpha", from=1-5, to=1-6]
	\arrow["\varepsilon", from=1-6, to=1-7]
	\arrow[from=1-7, to=1-8]
	\arrow["\alpha", from=1-3, to=1-4]
	\arrow["\beta", from=1-2, to=1-3]
	\arrow[from=1-1, to=1-2]
\end{tikzcd}\]
    where
    \[ \alpha(x) = x(t-1);\quad \beta(x) = x(1 + t + \dots + t^{n-1}) \]
\end{example}
From algebraic topology, if we have a connected simplicial complex \( X \) with fundamental group \( \pi_1(X) = G \), such that the universal cover \( \widetilde X \) is contractible, we obtain a free resolution of \( \mathbb Z \) given by the universal cover.
In this way, the simplicial complex \( X \) contains a lot of information about its fundamental group; this is what we aim to replicate algebraically.

For calculation purposes, we are interested in `small' resolutions, for instance where the free modules have small rank.
However, for theory development, we often want general constructions, and resolutions given by generic theory tend to be large.
\begin{definition}
    \( G \) is of \emph{type \( FP_n \)} if \( \mathbb Z \) has a projective resolution
    \[\begin{tikzcd}
        \cdots & {P_1} & {P_0} & {\mathbb Z} & 0
        \arrow["{d_2}", from=1-1, to=1-2]
        \arrow["{d_1}", from=1-2, to=1-3]
        \arrow["{d_0}", from=1-3, to=1-4]
        \arrow[from=1-4, to=1-5]
    \end{tikzcd}\]
    which may be infinite, but where \( P_n, P_{n-1}, \dots, P_0 \) are finitely generated as \( \mathbb Z G \)-modules.

    We say \( G \) is of \emph{type \( FP_\infty \)} if \( \mathbb Z \) has a projective resolution where all of the \( P_i \) are finitely generated as \( \mathbb Z G \)-modules.
    Finally, \( G \) is of \emph{type \( FP \)} if \( \mathbb Z \) has a projective resolution where all of the \( P_i \) are finitely generated as \( \mathbb Z G \)-modules, and the resolution is of finite length, so \( P_s = 0 \) for sufficiently large \( s \).
\end{definition}
\begin{example}
    \begin{enumerate}
        \item Let \( G = \langle t \rangle \) be the infinite cyclic group.
        Then \( G \) is of type \( FP \).
        \item Let \( G = \langle t \rangle \) be a finite cyclic group.
        Then \( G \) is of type \( FP_\infty \); we will show later that it is not of type \( FP \).
    \end{enumerate}
\end{example}
These can be regarded as finiteness conditions on the group \( G \).
The topological version of \( FP_n \) would be that a simplicial complex \( X \) with fundamental group \( G \) has a finite \( n \)-skeleton.

\subsection{???}
Consider a partial projective resolution
% https://q.uiver.app/#q=WzAsNyxbMCwwLCJQX3MiXSxbMSwwLCJQX3tzLTF9Il0sWzIsMCwiXFxjZG90cyJdLFszLDAsIlBfMSJdLFs0LDAsIlBfMCJdLFs1LDAsIlxcbWF0aGJiIFoiXSxbNiwwLCIwIl0sWzAsMV0sWzEsMl0sWzIsM10sWzMsNF0sWzQsNV0sWzUsNl1d
\[\begin{tikzcd}
	{P_s} & {P_{s-1}} & \cdots & {P_1} & {P_0} & {\mathbb Z} & 0
	\arrow[from=1-1, to=1-2]
	\arrow[from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
	\arrow[from=1-5, to=1-6]
	\arrow[from=1-6, to=1-7]
\end{tikzcd}\]
Then we can set \( P_{s+1} \) to be the free module \( \mathbb Z G\qty{X_{s+1}} \) where \( X_{s+1} \) is the kernel of \( d_s \).
We can then set \( d_{s+1} \) to be
\[ \underbrace{\sum r_x x}_{\in P_{s+1}} \mapsto \underbrace{\sum r_x x}_{\in P_s} \]
where the left-hand side is a formal sum, and the right-hand sum takes place in \( P_s \).
We thus obtain a longer partial projective resolution
% https://q.uiver.app/#q=WzAsOCxbMSwwLCJQX3MiXSxbMiwwLCJQX3tzLTF9Il0sWzMsMCwiXFxjZG90cyJdLFs0LDAsIlBfMSJdLFs1LDAsIlBfMCJdLFs2LDAsIlxcbWF0aGJiIFoiXSxbNywwLCIwIl0sWzAsMCwiUF97cysxfSJdLFswLDFdLFsxLDJdLFsyLDNdLFszLDRdLFs0LDVdLFs1LDZdLFs3LDAsImRfe3MrMX0iXV0=
\[\begin{tikzcd}
	{P_{s+1}} & {P_s} & {P_{s-1}} & \cdots & {P_1} & {P_0} & {\mathbb Z} & 0
	\arrow[from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
	\arrow[from=1-5, to=1-6]
	\arrow[from=1-6, to=1-7]
	\arrow[from=1-7, to=1-8]
	\arrow["{d_{s+1}}", from=1-1, to=1-2]
\end{tikzcd}\]
since exactness holds at \( P_s \) by construction.
We could alternatively take \( X_{s+1} \) to be a \( \mathbb Z G \)-generating set of \( \ker d_s \); this would have the effect of reducing the size of \( P_{s+1} \), which is most useful in direct calculation if \( \ker d_s \) is finitely generated.
Continuing in this way, we obtain a resolution of \( \mathbb Z \).
\begin{definition}
    The \emph{standard} or \emph{bar} resolution of \( \mathbb Z \) is constructed as follows.
    Let \( G^{(n)} \) be the set of formal symbols
    \[ G^{(n)} = \qty{[g_1 | \dots | g_n] \mid g_1, \dots, g_n \in G} \]
    where \( G^{(0)} \) is the set containing only the empty symbol \( [] \).
    Let \( F_n = \mathbb Z G \qty{G^{(n)}} \) be the corresponding free modules.
    We define the boundary maps \( d_n : F_n \to F_{n-1} \) by
    \begin{align*}
        d_n([g_1 | \dots | g_n]) &= g_1[g_2 | \dots | g_n] \\
        &- [g_1 g_2 | g_3 | \dots | g_n] \\
        &+ [g_1 | g_2 g_3 | \dots | g_n] - \dots \\
        &+ (-1)^{n-1} [g_1 | \dots | g_{n-1} g_n] \\
        &+ (-1)^n [g_1 | \dots | g_{n-1}]
    \end{align*}
    One can verify explicitly that these are chain maps as required, giving a free resolution
    % https://q.uiver.app/#q=WzAsNCxbMCwwLCJcXGNkb3RzIl0sWzEsMCwiRl8xIl0sWzIsMCwiRl8wIl0sWzMsMCwiXFxtYXRoYmIgWiJdLFswLDFdLFsxLDJdLFsyLDNdXQ==
\[\begin{tikzcd}
	\cdots & {F_1} & {F_0} & {\mathbb Z}
	\arrow[from=1-1, to=1-2]
	\arrow[from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
\end{tikzcd}\]
\end{definition}
\begin{remark}
    The bar resolution corresponds to the standard resolution in algebraic topology.
    Consider the free abelian group \( \mathbb Z G^{n+1} \) generated by the \( (n + 1) \)-tuples with elements in \( G \).
    Then \( G \) acts on \( G^{n+1} \) diagonally:
    \[ g(g_0, \dots, g_n) = (gg_0, \dots, gg_n) \]
    Thus \( \mathbb Z G^{n+1} \) is a free \( \mathbb Z G \)-module on the basis of \( (n + 1) \)-tuples with first element \( 1 \).
    The symbol \( [g_1 | \dots | g_n] \) corresponds to the \( (n + 1) \)-tuple
    \[ (1, g_1, g_1 g_2, \dots, g_1 \dots g_n) \]
    Removing the first entry gives
    \[ g_1 (1, g_2, g_2 g_3, \dots, g_2 \dots g_n) \]
    and removing the second entry gives
    \[ (1, g_1 g_2, \dots, g_1 \dots g_n) \]
\end{remark}
\begin{lemma}
    The bar resolution is exact.
\end{lemma}
\begin{proof}
    We will just consider the \( d_n \) as maps of abelian groups.
    \( F_n \) has basis \( G \times G^{(n)} \) as a free abelian group.
    \[ G \times G^{(n)} = \qty{g_0 [g_1 | \dots | g_n] \mid g_0, \dots, g_n \in G} \]
    We define \( \mathbb Z \)-maps \( s_n : F_n \to F_{n+1} \) such that
    \[ \id_{F_n} = d_{n+1} s_n + s_{n-1} d_n \]
    by
    \[ s_n(g_0[g_1 | \dots | g_n]) = [g_0 | g_1 | \dots | g_n] \]
    This is not a \( \mathbb Z G \)-map.
    One can check that the required equation holds.
    If \( x \in \ker d_n \), then
    \[ x = \id x = d_{n+1} s_n(x) + s_{n-1} d_n(x) = d_{n+1} s_n(x) \in \im d_{n+1} \]
\end{proof}
\begin{corollary}
    Any finite group is of type \( FP_\infty \).
\end{corollary}
\begin{proof}
    The bar resolution gives a suitable resolution.
\end{proof}

\subsection{Cohomology}
\begin{definition}
    Consider a projective resolution
    % https://q.uiver.app/#q=WzAsOCxbMCwwLCJcXGNkb3RzIl0sWzEsMCwiUF97bisxfSJdLFsyLDAsIlBfbiJdLFszLDAsIlxcY2RvdHMiXSxbNCwwLCJQXzEiXSxbNSwwLCJQXzAiXSxbNiwwLCJcXG1hdGhiYiBaIl0sWzcsMCwiMCJdLFswLDFdLFsxLDJdLFsyLDNdLFszLDRdLFs0LDVdLFs1LDZdLFs2LDddXQ==
\[\begin{tikzcd}
	\cdots & {P_{n+1}} & {P_n} & \cdots & {P_1} & {P_0} & {\mathbb Z} & 0
	\arrow[from=1-1, to=1-2]
	\arrow[from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
	\arrow[from=1-5, to=1-6]
	\arrow[from=1-6, to=1-7]
	\arrow[from=1-7, to=1-8]
\end{tikzcd}\]
    of \( \mathbb Z \) by \( \mathbb Z G \)-modules.
    Let \( M \) be a (left) \( \mathbb Z G \)-module.
    Applying \( \Hom_G(-,M) \), we obtain a sequence
    % https://q.uiver.app/#q=WzAsNixbMCwwLCJcXGNkb3RzIl0sWzEsMCwiXFxIb21fRyhQX3tuKzF9LE0pIl0sWzIsMCwiXFxIb21fRyhQX24sTSkiXSxbMywwLCJcXGNkb3RzIl0sWzQsMCwiXFxIb21fRyhQXzEsTSkiXSxbNSwwLCJcXEhvbV9HKFBfMCxNKSJdLFsxLDBdLFsyLDFdLFszLDJdLFs0LDNdLFs1LDQsImReMSIsMl1d
\[\begin{tikzcd}
	\cdots & {\Hom_G(P_{n+1},M)} & {\Hom_G(P_n,M)} & \cdots & {\Hom_G(P_1,M)} & {\Hom_G(P_0,M)}
	\arrow[from=1-2, to=1-1]
	\arrow[from=1-3, to=1-2]
	\arrow[from=1-4, to=1-3]
	\arrow[from=1-5, to=1-4]
	\arrow["{d^1}"', from=1-6, to=1-5]
\end{tikzcd}\]
    where \( d^n = d_n^\star \).
    Then the \emph{\( n \)th cohomology group} \( H^n(G, M) \) with coefficients in \( M \) is
    \[ H^n(G, M) = {\ker d^{n+1}}{\im d^n};\quad H^0(G, M) = \ker d^1 \]
\end{definition}
\begin{remark}
    We have removed the \( \mathbb Z \) term in the \( \Hom_G(-, M) \) sequence.
    These cohomology groups are the homology groups of a chain complex \( C_n = \Hom_G(P_{-n}, M) \) for \( n \leq 0 \).
    We will show that these cohomology groups are independent of the choice of projective resolution.
\end{remark}
\begin{example}
    Let \( G = \langle t \rangle \) be an infinite cyclic group.
    We have a projective resolution
    % https://q.uiver.app/#q=WzAsNSxbMCwwLCIwIl0sWzEsMCwiXFxtYXRoYmIgWiBHIl0sWzIsMCwiXFxtYXRoYmIgWiBHIl0sWzMsMCwiXFxtYXRoYmIgWiJdLFs0LDAsIjAiXSxbMCwxXSxbMSwyLCJcXGNkb3RcXCwodC0xKSJdLFsyLDNdLFszLDRdXQ==
\[\begin{tikzcd}
	0 & {\mathbb Z G} & {\mathbb Z G} & {\mathbb Z} & 0
	\arrow[from=1-1, to=1-2]
	\arrow["{\cdot\,(t-1)}", from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
\end{tikzcd}\]
    For \( \varphi \in \Hom_G(\mathbb Z G, M) \) and \( x \in \mathbb Z G \),
    \[ d^1(\varphi)(x) = \varphi(d_1(x)) = \varphi(x(t-1)) \]
    Recall that we have an isomorphism \( i : \Hom_G(\mathbb Z G, M) \cong M \) by \( \theta \mapsto \theta(1) \).
    In particular,
    \[ d^1(\varphi) \mapsto d^1(\varphi)(1) = \varphi(t-1) = (t - 1)\varphi(1) = (t - 1) i(\varphi) \]
    We thus obtain
    % https://q.uiver.app/#q=WzAsMyxbMiwwLCJNIl0sWzEsMCwiTSJdLFswLDAsIjAiXSxbMCwxLCJcXGFscGhhIiwyXSxbMSwyXV0=
\[\begin{tikzcd}
	0 & M & M
	\arrow["\alpha"', from=1-3, to=1-2]
	\arrow[from=1-2, to=1-1]
\end{tikzcd}\]
    where \( \alpha \) is multiplication on the left by \( t - 1 \).
    Therefore, the cohomology groups are
    \[ H^0(G, M) = \qty{m \in M \mid tm = m} = M^G;\quad H^1(G, M) = \faktor{M}{(t-1)M} = M_G;\quad H^n(G, M) = 0 \text{ for } n \neq 0, 1 \]
    Note that the group of invariants \( M^G \) is the largest submodule with trivial \( G \)-action, and the group of coinvariants \( M_G \) is the largest quotient module with trivial \( G \)-action.
\end{example}
\begin{remark}
    It is generally true that \( H^0(G, M) = M^G \), but in general \( H^1(G, M) = M_G \) does not hold.
    In general, \( M_G \) is the \( 0 \)th homology group, which will be discussed later.
    Note that for any group of type \( FP \), the cohomology groups vanish for all but finitely many indices \( n \).
\end{remark}
\begin{definition}
    \( G \) is of \emph{cohomological dimension \( m \)} over \( \mathbb Z \) if there exists some \( \mathbb Z G \)-module \( M \) with \( H^m(G, M) \neq 0 \) but \( H^n(G, M_1) = 0 \) for all \( n > m \) and all \( \mathbb Z G \)-modules \( M_1 \).
\end{definition}
\begin{remark}
    For all \( G \), we have \( H^0(G, \mathbb Z) = \mathbb Z \neq 0 \) so all groups have dimension at least zero.
\end{remark}
\begin{example}
    Infinite cyclic groups have cohomological dimension 1 over \( \mathbb Z \).
    One can show that if \( G \) is a free group of finite rank, then it is also of cohomological dimension 1 over \( \mathbb Z \).
    Stallings showed in 1968 that the converse is true: a finitely generated group of cohomological dimension 1 is free.
    Swan strengthened this in 1969 by removing the assumption of finite generation.
\end{example}
We now consider the bar resolution in our definition of cohomology.
Note that
\[ \Hom_G(\mathbb Z G \qty{G^{(n)}}, M) \cong C^n(G, M) \]
where \( C^n(G, M) \) is the set of functions \( G^{(n)} \to M \), since a \( \mathbb Z G \)-map is determined by its action on a basis.
Moreover, \( C^n(G, M) \) corresponds to the set of functions \( G^n \to M \).
For \( n = 0 \), note that \( C^0(G, M) \) is the set of functions \( G^0 \to M \) which bijects with \( M \).
\begin{definition}
    The abelian group of \emph{\( n \)-cochains} of \( G \) with coefficients in \( M \) is \( C^n(G, M) \).
    The \emph{\( n \)th coboundary map} \( d^n : C^{n-1}(G, M) \to C^n(G, M) \) is dual to the \( d_n \) from the bar resolution:
    \begin{align*}
        d^n(\varphi)(g_1, \dots, g_n) &= g_1 \varphi(g_2, \dots, g_n) \\
        &- \varphi(g_1 g_2, g_3, \dots, g_n) \\
        &+ \varphi(g_1, g_2 g_3, \dots, g_n) - \cdots \\
        &+ (-1)^{n-1} \varphi(g_1, g_2, \dots, g_{n-1} g_n) \\
        &+ (-1)^n \varphi(g_1, g_2, \dots, g_{n-1})
    \end{align*}
    The group of \emph{\( n \)-cocycles} is \( Z^n(G, M) = \ker d^{n+1} \leq C^n(G, M) \).
    The group of \emph{\( n \)-coboundaries} is \( B^n(G, M) = \im d^n \leq C^n(G, M) \).
    Thus the \( n \)th cohomology group is
    \[ H^n(G, M) = \faktor{Z^n(G, M)}{B^n(G, M)} \]
\end{definition}
\begin{corollary}
    \( H^0(G, M) = M^G \) for all \( G \).
\end{corollary}
\begin{definition}
    A \emph{derivation} of \( G \) with coefficients in \( M \) is a function \( \varphi : G \to M \) such that \( \varphi(gh) = g \varphi(h) + \varphi(g) \).
\end{definition}
Note that \( Z^1(G, M) \) is exactly the set of derivations of \( G \) with coefficients in \( M \), so a derivation is precisely a 1-cocycle.
\begin{definition}
    An \emph{inner derivation} of \( G \) with coefficients in \( M \) is a function \( \varphi : G \to M \) of the form \( \varphi(g) = gm - m \) for a fixed \( m \in M \).
\end{definition}
Such maps are derivations.
\begin{corollary}
    \( H^1(G, M) \) is the group of derivations modulo the inner derivations.
    In particular, if \( M \) is a trivial \( \mathbb Z G \)-module, then
    \[ H^1(G, M) = \qty{\text{group homomorphisms } G \to M} \]
    treating \( M \) as an abelian group under addition.
\end{corollary}

\subsection{Independence of cohomology groups}
We now prove that cohomology groups are independent of the choice of resolution.
\begin{definition}
    Let \( (A_n, \alpha_n), (B_n, \beta_n) \) be chain complexes of \( \mathbb Z G \)-modules.
    A \emph{chain map} \( (f_n) \) is a sequence of \( \mathbb Z G \)-maps \( f_n : A_n \to B_n \) such that the following diagram commutes.
    % https://q.uiver.app/#q=WzAsMTAsWzAsMCwiXFxjZG90cyJdLFsxLDAsIkFfbiJdLFsyLDAsIkFfe24tMX0iXSxbMCwxLCJcXGNkb3RzIl0sWzEsMSwiQl9uIl0sWzIsMSwiQl97bi0xfSJdLFszLDEsIkJfe24tMn0iXSxbNCwxLCJcXGNkb3RzIl0sWzMsMCwiQV97bi0yfSJdLFs0LDAsIlxcY2RvdHMiXSxbMCwxXSxbMSwyLCJcXGFscGhhX24iXSxbMyw0XSxbNCw1LCJcXGJldGFfbiIsMl0sWzEsNCwiZl9uIl0sWzIsNSwiZl97bi0xfSJdLFs1LDYsIlxcYmV0YV97bi0xfSIsMl0sWzYsN10sWzIsOCwiXFxhbHBoYV97bi0xfSJdLFs4LDldLFs4LDYsImZfe24tMn0iXV0=
\[\begin{tikzcd}
	\cdots & {A_n} & {A_{n-1}} & {A_{n-2}} & \cdots \\
	\cdots & {B_n} & {B_{n-1}} & {B_{n-2}} & \cdots
	\arrow[from=1-1, to=1-2]
	\arrow["{\alpha_n}", from=1-2, to=1-3]
	\arrow[from=2-1, to=2-2]
	\arrow["{\beta_n}"', from=2-2, to=2-3]
	\arrow["{f_n}", from=1-2, to=2-2]
	\arrow["{f_{n-1}}", from=1-3, to=2-3]
	\arrow["{\beta_{n-1}}"', from=2-3, to=2-4]
	\arrow[from=2-4, to=2-5]
	\arrow["{\alpha_{n-1}}", from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
	\arrow["{f_{n-2}}", from=1-4, to=2-4]
\end{tikzcd}\]
\end{definition}
\begin{lemma}
    A chain map \( (f_n) \) as above induces a map on homology groups
    \[ f_\star : H_n(A_\bullet) \to H_n(B_\bullet) \]
\end{lemma}
\begin{proof}
    Let \( x \in \ker \alpha_n \), and define \( f_\star([x]) = [f_n(x)] \), where square brackets denote the quotient maps to the relevant homology classes.
    Observe that \( f_n(x) \in \ker \beta_n \), since \( \beta_n f_n(x) = f_{n-1} \alpha_n(x) = 0 \).
    Further, if \( x' = x + \alpha_{n+1}(y) \) for some \( y \), we obtain
    \[ f_n(x') = f_n(x) + f_n \alpha_{n+1}(y) = f_n(x) + \beta_{n+1} f_{n+1}(y) \in f_n(x) + \im b_{n+1} \]
    Therefore, this map is well-defined.
    One can check that this is a map of abelian groups, as required.
\end{proof}
\begin{theorem}
    The definition of \( H^n(G, M) \) does not depend on the choice of resolution.
\end{theorem}
\begin{proof}
    Take projective resolutions \( (P_n, d_n) \) and \( (P_n', d_n') \) of \( \mathbb Z \) by projective \( \mathbb Z G \)-modules.
    We will produce \( \mathbb Z G \)-maps \( f_n : P_n \to P_n' \) and \( g_n : P_n' \to P_n \) satisfying
    \[ f_{n-1} d_n = d_n' f_n;\quad g_{n-1} d_n' = d_n g_n \]
    as well as maps \( s_n : P_n \to P_{n+1} \) and \( s_n' : P_n' \to P_{n+1}' \) satisfying
    \[ d_{n+1} s_n + s_{n-1} d_n = g_n f_n - \id;\quad d_{n+1}' s_n' + s_{n-1}' d_n' = f_n g_n - \id \]
    Thus, the \( f_n \) and \( g_n \) form chain maps, and the \( s_n \) and \( s_n' \) form \emph{chain homotopies}.
    The chain maps \( (f_n), (g_n) \) give rise to chain maps
    \[ \Hom_G(P_\bullet', M) \to \Hom_G(P_\bullet, M);\quad \Hom_G(P_\bullet, M) \to \Hom_G(P_\bullet', M) \]
    giving maps between the respective homology groups by the previous lemma.
    We now observe that if \( \varphi \in \ker d^{n+1} \in \Hom(P, M) \), we have
    \begin{align*}
        f_n^\star g_n^\star (\varphi)(x) &= \varphi(g_n f_n(x)) \\
        &= \varphi(x) + \varphi(d_{n+1} s_n(x)) + \varphi(s_{n-1} d_n(x)) \\
        &= \varphi(x) + s_n^\star d^{n+1} \varphi(x) + d^n s_{n-1}^\star (\varphi)(x) \\
        &= \varphi(x) + 0 + d^n s_{n-1}^\star (\varphi)(x)
    \end{align*}
    Thus \( f_n^\star g_n^\star(\varphi) = \varphi + d^n s_{n-1}^\star(\varphi) \), and so \( f_n^\star g_n^\star \) induces the identity map on \( \faktor{\ker d^{n+1}}{\im d^n} \).
    The same holds for \( g_n^\star f_n^\star \), and so \( f_n^\star, g_n^\star \) define isomorphisms of homology groups as desired.

    It remains to construct the maps \( f_n, g_n, s_n, s_n' \).
    At the end of the resolutions, we set \( f_{-1} : \mathbb Z \to \mathbb Z \) and \( f_{-2} : 0 \to 0 \) to be the identity maps.
    Suppose that we have already defined \( f_{n-1} \) and \( f_n \); we will define \( f_{n+1} \).
    We have \( f_n d_{n+1} : P_{n+1} \to P_n' \) and \( d_n' \circ (f_n d_{n+1}) = f_{n-1} d_n d_{n+1} = 0 \).
    Hence, the map \( f_n d_{n+1} \) has image inside \( \ker d_n' \).
    We then define \( f_{n+1} \) to complete the following diagram, which exists by projectivity.
    % https://q.uiver.app/#q=WzAsNyxbMSwwLCJQX3tuKzF9Il0sWzIsMCwiUF9uIl0sWzMsMCwiUF97bi0xfSJdLFsyLDEsIlBfbiciXSxbMywxLCJQX3tuLTF9JyJdLFsxLDEsIlxca2VyIGRfbiciXSxbMCwxLCJQX3tuKzF9JyJdLFswLDEsImRfe24rMX0iXSxbMSwyLCJkX24iXSxbMyw0LCJkX24nIiwyXSxbMSwzLCJmX24iXSxbMiw0LCJmX3tuLTF9Il0sWzUsMywiIiwyLHsic3R5bGUiOnsidGFpbCI6eyJuYW1lIjoibW9ubyJ9fX1dLFs2LDUsImRfe24rMX0nIiwyLHsic3R5bGUiOnsiaGVhZCI6eyJuYW1lIjoiZXBpIn19fV0sWzAsNSwiZl9uIGRfe24rMX0iXSxbMCw2LCJmX3tuKzF9IiwyLHsic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiZGFzaGVkIn19fV1d
\[\begin{tikzcd}
	& {P_{n+1}} & {P_n} & {P_{n-1}} \\
	{P_{n+1}'} & {\ker d_n'} & {P_n'} & {P_{n-1}'}
	\arrow["{d_{n+1}}", from=1-2, to=1-3]
	\arrow["{d_n}", from=1-3, to=1-4]
	\arrow["{d_n'}"', from=2-3, to=2-4]
	\arrow["{f_n}", from=1-3, to=2-3]
	\arrow["{f_{n-1}}", from=1-4, to=2-4]
	\arrow[tail, from=2-2, to=2-3]
	\arrow["{d_{n+1}'}"', two heads, from=2-1, to=2-2]
	\arrow["{f_n d_{n+1}}", from=1-2, to=2-2]
	\arrow["{f_{n+1}}"', dashed, from=1-2, to=2-1]
\end{tikzcd}\]
    We can define \( g_{n+1} \) in the same way.
    Now set \( h_n = g_n f_n - \id : P_n \to P_n \); this gives a chain map \( P_\bullet \to P_\bullet \).
    Set \( s_{-1} : \mathbb Z \to P_0 \) to be the zero map.
    Note that \( d_0 h_0 = h_{-1} d_0 = 0 \), and so \( \im h_0 \subseteq \ker d_0 \).
    We now use projectivity to define
    % https://q.uiver.app/#q=WzAsNixbMSwwLCJQXzAiXSxbMiwwLCJcXG1hdGhiYiBaIl0sWzMsMSwiXFxtYXRoYmIgWiJdLFsyLDEsIlBfMCJdLFsxLDEsIlxca2VyIGRfMCJdLFswLDEsIlBfMSJdLFswLDFdLFsxLDIsIjAiXSxbMCwzLCJoXzAiXSxbMywyLCJkXzAiLDJdLFs0LDMsIiIsMix7InN0eWxlIjp7InRhaWwiOnsibmFtZSI6Im1vbm8ifX19XSxbMCw0LCJoXzAiLDJdLFswLDUsInNfMCIsMix7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImRhc2hlZCJ9fX1dLFs1LDQsImRfMSIsMix7InN0eWxlIjp7ImhlYWQiOnsibmFtZSI6ImVwaSJ9fX1dXQ==
\[\begin{tikzcd}
	& {P_0} & {\mathbb Z} \\
	{P_1} & {\ker d_0} & {P_0} & {\mathbb Z}
	\arrow[from=1-2, to=1-3]
	\arrow["0", from=1-3, to=2-4]
	\arrow["{h_0}", from=1-2, to=2-3]
	\arrow["{d_0}"', from=2-3, to=2-4]
	\arrow[tail, from=2-2, to=2-3]
	\arrow["{h_0}"', from=1-2, to=2-2]
	\arrow["{s_0}"', dashed, from=1-2, to=2-1]
	\arrow["{d_1}"', two heads, from=2-1, to=2-2]
\end{tikzcd}\]
    Suppose that \( s_{n-1} \) and \( s_{n-2} \) are already defined.
    Consider \( t_n = h_n - s_{n-1} d_n : P_n \to P_n \).
    We have
    \[ d_n t_n = d_n h_n - d_n s_{n-1} d_n = h_{n-1} d_n - (h_{n-1} - s_{n-2} d_{n-1}) d_n = s_{n-2} d_{n-1} d_n = 0 \]
    Thus \( \im t_n \subseteq \ker d_n \).
    % https://q.uiver.app/#q=WzAsNixbMSwwLCJQX24iXSxbMiwwLCJQX3tuLTF9Il0sWzMsMSwiUF97bi0xfSJdLFsyLDEsIlBfbiJdLFsxLDEsIlxca2VyIGRfbiJdLFswLDEsIlBfe24rMX0iXSxbMCwxLCJkX24iXSxbMSwyLCJoX3tuLTF9Il0sWzAsMywiaF9uIiwxXSxbMywyLCJkX24iLDJdLFsxLDMsInNfe24tMX0iLDFdLFs0LDMsIiIsMix7InN0eWxlIjp7InRhaWwiOnsibmFtZSI6Im1vbm8ifX19XSxbMCw0LCJ0X24iLDJdLFs1LDQsIiIsMix7InN0eWxlIjp7ImhlYWQiOnsibmFtZSI6ImVwaSJ9fX1dLFswLDUsInNfbiIsMix7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImRhc2hlZCJ9fX1dXQ==
\[\begin{tikzcd}
	& {P_n} & {P_{n-1}} \\
	{P_{n+1}} & {\ker d_n} & {P_n} & {P_{n-1}}
	\arrow["{d_n}", from=1-2, to=1-3]
	\arrow["{h_{n-1}}", from=1-3, to=2-4]
	\arrow["{h_n}"{description}, from=1-2, to=2-3]
	\arrow["{d_n}"', from=2-3, to=2-4]
	\arrow["{s_{n-1}}"{description}, from=1-3, to=2-3]
	\arrow[tail, from=2-2, to=2-3]
	\arrow["{t_n}"', from=1-2, to=2-2]
	\arrow[two heads, from=2-1, to=2-2]
	\arrow["{s_n}"', dashed, from=1-2, to=2-1]
\end{tikzcd}\]
    We define the \( s_n' \) similarly.
\end{proof}
\begin{remark}
    For any left \( \mathbb Z G \)-module \( N \), we can take a resolution of \( N \) by projective or free \( \mathbb Z G \)-modules.
    % https://q.uiver.app/#q=WzAsNixbMCwwLCJcXGNkb3RzIl0sWzEsMCwiUF8yIl0sWzIsMCwiUF8xIl0sWzMsMCwiUF8wIl0sWzQsMCwiTiJdLFs1LDAsIjAiXSxbMSwyXSxbMiwzXSxbMyw0XSxbNCw1XSxbMCwxXV0=
\[\begin{tikzcd}
	\cdots & {P_2} & {P_1} & {P_0} & N & 0
	\arrow[from=1-2, to=1-3]
	\arrow[from=1-3, to=1-4]
	\arrow[from=1-4, to=1-5]
	\arrow[from=1-5, to=1-6]
	\arrow[from=1-1, to=1-2]
\end{tikzcd}\]
    Repeating the constructions outlined in this section, applying \( \Hom_G(-, M) \) gives homology groups called \( \operatorname{Ext}^n_{\mathbb Z G}(N, M) \).
    Thus
    \[ H^n(G, M) = \operatorname{Ext}^n_{\mathbb Z G}(\mathbb Z, M) \]
\end{remark}
